package nlpeap.toolrepository;


/**
 * The interface of the NLP basic tools or other
 * tools that want to be manage together
 * 
 * @author chuter
 *
 */
public interface Tool {
	//Word Segment and Pos Tagging tool name
	public static final String WordSegment = "ws";
	//Name Entity Recognizing tool name
	public static final String NER = "ner";
	//Parser tool name
	public static final String DepParser = "depparser";
	//Semantic Role Labelling tool name
	public static final String SRL = "srl";
	//Chunk tool name
	public static final String Trunk = "trunk";
	//Word Segment, Pos Tagging and Name Entity Recognizing tool name
	public static final String WSNER = "wsner";
	
	/**
	 * Load the resource the tool needs
	 * @throws LoadException
	 */
	public void loadResource() throws LoadException;
	
	/**
	 * Release the resource
	 */
	public void releaseResource();
	
		
}